home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / ExtObjectP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  2.4 KB  |  104 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: ExtObjectP.h,v $ $Revision: 1.14 $ $Date: 92/05/14 12:51:32 $ */
  6. /*
  7. *  (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  8. /*
  9. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  10. /*
  11. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  12. /*
  13. *  (c) Copyright 1988 MICROSOFT CORPORATION */
  14. #ifndef  _XmExtObjectP_h
  15. #define _XmExtObjectP_h
  16.  
  17. #include <Xm/XmP.h>
  18.  
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22.  
  23. enum{    XmCACHE_EXTENSION = 1,            XmDESKTOP_EXTENSION,
  24.     XmSHELL_EXTENSION,            XmPROTOCOL_EXTENSION,
  25.     XmDEFAULT_EXTENSION
  26.     } ;
  27.  
  28. #ifndef XmIsExtObject
  29. #define XmIsExtObject(w) XtIsSubclass(w, xmExtObjectClass)
  30. #endif /* XmIsExtObject */
  31.  
  32. /* Class record constants */
  33.  
  34. typedef struct _XmExtRec *XmExtObject;
  35. typedef struct _XmExtClassRec *XmExtObjectClass;
  36.  
  37. externalref WidgetClass xmExtObjectClass;
  38.  
  39. #define XmNUM_ELEMENTS 4
  40. #define XmNUM_BYTES 99
  41.  
  42. /* Class Extension definitions */
  43.  
  44. typedef struct _XmExtClassPart{
  45.     XmSyntheticResource *syn_resources;   
  46.     int                    num_syn_resources;   
  47. #ifdef notdef
  48.     XtResourceList    ext_resources;
  49.     XtResourceList    compiled_ext_resources;
  50.     Cardinal        num_ext_resources;
  51.     Boolean        use_sub_resources;
  52. #endif /* notdef */
  53.     XtPointer        extension;
  54. }XmExtClassPart, *XmExtClassPartPtr;
  55.  
  56. typedef struct _XmExtClassRec{
  57.     ObjectClassPart        object_class;
  58.     XmExtClassPart         ext_class;
  59. }XmExtClassRec;
  60.  
  61. typedef struct {
  62.     Widget        logicalParent;
  63.     unsigned char    extensionType;
  64. } XmExtPart, *XmExtPartPtr;
  65.  
  66. externalref XmExtClassRec     xmExtClassRec;
  67.  
  68. typedef struct _XmExtRec{
  69.     ObjectPart            object;
  70.     XmExtPart            ext;
  71. }XmExtRec;
  72.  
  73. typedef struct _XmExtCache {
  74.    char    data[XmNUM_BYTES];
  75.    Boolean inuse;
  76. }XmExtCache;
  77.  
  78.  
  79. /********    Private Function Declarations    ********/
  80. #ifdef _NO_PROTO
  81.  
  82. extern char * _XmExtObjAlloc() ;
  83. extern void _XmExtObjFree() ;
  84. extern void _XmBuildExtResources() ;
  85.  
  86. #else
  87.  
  88. extern char * _XmExtObjAlloc( 
  89.                         int size) ;
  90. extern void _XmExtObjFree( 
  91.                         XtPointer element) ;
  92. extern void _XmBuildExtResources( 
  93.                         WidgetClass c) ;
  94.  
  95. #endif /* _NO_PROTO */
  96. /********    End Private Function Declarations    ********/
  97.  
  98.  
  99. #ifdef __cplusplus
  100. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  101. #endif
  102.  
  103. #endif  /* _XmExtObjectP_h */
  104.